1. Field of the Invention
The invention is in the field of computing systems and more specifically in the field of data management.
2. Prior Art
The design and implementation of data systems can have a significant impact on the usefulness and versatility of stored data. Proper design includes specification of database keys, data tables and relationships between database entities. These elements and structures facilitate queries used to retrieve or summarize data. The development of specific database implementations often include consideration of tradeoffs between efficiency of data access and other factors such as duplication of information, model flexibility, data storage volume, and development of indexes. For example, division of data into multiple tables speeds access to each individual table but may slow operations involving data stored in different tables.
Since the development of the first relational data model a large number of variations have been implemented. These models can generally be classified as “static” or “dynamic.” Static models include tables with fixed record length, fixed data types, and relationships between data records that do not depend on the actual data stored in each record. In contrast, dynamic models include data structures that may be responsive to individual data values, relationships between data or other properties. These data structures may also vary as stored data is modified.
Customer management and human resources are two applications that depend on data systems. A typical implementation in either application includes storage of information about people and organizations. For example, a person may be associated with a social security number, salary, supervisors, subordinates, purchasing authority, telephone number, e-mail address, and project group. Some of this information, such as social security number, may be preferably stored in a static data model while other information, such as a supervisor-subordinate relationships may be preferably stored in a dynamic data model.
Neither a static nor a dynamic data model is preferred for all types of data. There is, therefore, a need for improved data models better configured to store diverse data.